package com.ntl.webcore.common.utils.system;

import com.ntl.webcore.common.exception.CommonExceptionConstant;
import com.ntl.webcore.common.exception.CommonRuntimeException;


public class SysErrorLogUtil {
    /**
     * 保存错误日志
     * @param errorCode 错误编码
     * @param errorMessage 自定义错误消息
     * @param exception 错误异常对象
     */
    public static void insertErrorLog(String errorCode, String errorMessage, Exception exception){
        new SysErrorLogThread(errorCode, errorMessage, exception).run();
    }

    /**
     * 保存错误日志
     * @param errorCode 错误编码
     * @param e Exception
     */
    public static void insertErrorLog(String errorCode,Exception e){
        insertErrorLog(errorCode,null,e);
    }

    /**
     * 保存错误日志
     * @param e Exception
     */
    public static void insertErrorLog(Exception e){
        insertErrorLog(null,null,e);
    }

    /**
     * 保存错误日志
     * @param e CommonRuntimeException
     */
    public static void insertErrorLog(CommonRuntimeException e){
        insertErrorLog(e.getErrorCode(),e.getErrorMessage(),e);
    }

    /**
     * 报错错误日志
     * @param constant CommonExceptionConstant
     * @param e
     */
    public static void insertErrorLog(CommonExceptionConstant constant, Exception e){
        insertErrorLog(constant.getErrorCode(), constant.getErrorMessage(), e);
    }


}
